Telegram Group & Telegram Channel
📱 How to: оптимизировать работу с API в мобильных приложениях

Проблема: Долгая загрузка данных, лишние запросы и падение приложения при плохом интернете.

1️⃣ Кеширование данных

Используйте Room (Android) или CoreData (iOS) для локального хранения:

// Android + Kotlin  
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getUsers(): Flow<List<User>>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun saveUsers(users: List<User>)
}

// iOS + Swift  
func saveUsers(_ users: [User]) {
let context = persistentContainer.viewContext
users.forEach { user in
let entity = UserEntity(context: context)
entity.id = user.id
entity.name = user.name
}
try? context.save()
}


2️⃣ Пагинация

Делите данные на страницы:

🔵 Android: Paging 3 + RemoteMediator
🔵 iOS: UICollectionViewDiffableDataSource + async/await

3️⃣ Повтор запросов при ошибках

// iOS  
func fetchWithRetry(maxAttempts: Int = 3) async throws -> Data {
for attempt in 1...maxAttempts {
do {
return try await fetchData()
} catch {
if attempt == maxAttempts { throw error }
try await Task.sleep(nanoseconds: 1_000_000_000 * UInt64(attempt))
}
}
fatalError("Unreachable")
}


4️⃣ Оптимизация JSON

🔵 Используйте kotlinx.serialization (Android) и Codable (iOS)
🔵 Исключайте ненужные поля через @Transient / @Ignore

5️⃣ HTTP-кеширование

// Android + OkHttp  
val client = OkHttpClient.Builder()
.cache(Cache(cacheDir, 10 * 1024 * 1024)) // 10 MB
.build()


💬 Как вы оптимизируете работу в своих проектах? Делитесь опытом

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/mobileproglib/5826
Create:
Last Update:

📱 How to: оптимизировать работу с API в мобильных приложениях

Проблема: Долгая загрузка данных, лишние запросы и падение приложения при плохом интернете.

1️⃣ Кеширование данных

Используйте Room (Android) или CoreData (iOS) для локального хранения:

// Android + Kotlin  
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getUsers(): Flow<List<User>>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun saveUsers(users: List<User>)
}

// iOS + Swift  
func saveUsers(_ users: [User]) {
let context = persistentContainer.viewContext
users.forEach { user in
let entity = UserEntity(context: context)
entity.id = user.id
entity.name = user.name
}
try? context.save()
}


2️⃣ Пагинация

Делите данные на страницы:

🔵 Android: Paging 3 + RemoteMediator
🔵 iOS: UICollectionViewDiffableDataSource + async/await

3️⃣ Повтор запросов при ошибках

// iOS  
func fetchWithRetry(maxAttempts: Int = 3) async throws -> Data {
for attempt in 1...maxAttempts {
do {
return try await fetchData()
} catch {
if attempt == maxAttempts { throw error }
try await Task.sleep(nanoseconds: 1_000_000_000 * UInt64(attempt))
}
}
fatalError("Unreachable")
}


4️⃣ Оптимизация JSON

🔵 Используйте kotlinx.serialization (Android) и Codable (iOS)
🔵 Исключайте ненужные поля через @Transient / @Ignore

5️⃣ HTTP-кеширование

// Android + OkHttp  
val client = OkHttpClient.Builder()
.cache(Cache(cacheDir, 10 * 1024 * 1024)) // 10 MB
.build()


💬 Как вы оптимизируете работу в своих проектах? Делитесь опытом

🐸 Библиотека мобильного разработчика

#буст

BY Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck




Share with your friend now:
tg-me.com/mobileproglib/5826

View MORE
Open in Telegram


Библиотека мобильного разработчика | Android iOS Swift Retrofit Moshi Chuck Telegram | DID YOU KNOW?

Date: |

Start with a fresh view of investing strategy. The combination of risks and fads this quarter looks to be topping. That means the future is ready to move in.Likely, there will not be a wholesale shift. Company actions will aim to benefit from economic growth, inflationary pressures and a return of market-determined interest rates. In turn, all of that should drive the stock market and investment returns higher.

To pay the bills, Mr. Durov is issuing investors $1 billion to $1.5 billion of company debt, with the promise of discounted equity if the company eventually goes public, the people briefed on the plans said. He has also announced plans to start selling ads in public Telegram channels as soon as later this year, as well as offering other premium services for businesses and users.

Библиотека мобильного разработчика | Android iOS Swift Retrofit Moshi Chuck from us


Telegram Библиотека мобильного разработчика | Android, iOS, Swift, Retrofit, Moshi, Chuck
FROM USA